package com.foreverwin.jzymes.common.service;

import com.foreverwin.jzymes.common.domain.CarrierBind;

import java.util.Date;
import java.util.List;

public interface ICarrierBindAdviceService {

    /**
     * 检查本体绑定状态
     *
     * @param site
     * @param carrier
     * @return
     */
    public List<CarrierBind> existCarrierBindonBind( String site, String carrier );

    /**
     * 查询本体绑定中信息
     *
     * @param site
     * @param carrier
     * @return
     */
    public List<CarrierBind> findCarrierBindOnBind(String site, String carrier );

    /**
     * 查询物料绑定本体信息
     *
     * @param site
     * @param carrier
     * @param itemBo
     * @return
     */
    public CarrierBind findCarrierBindOnBindByItem( String site, String carrier, String itemBo );

    /**
     * 本体解绑
     *
     * @param carrierBindList
     * @param endDateTime
     */
    public void carrierUnBind( List<CarrierBind> carrierBindList, Date endDateTime );

    /**
     * 本体解绑
     *
     * @param carrierBind
     * @param endDateTime
     */
    public void carrierUnBind( CarrierBind carrierBind, Date endDateTime );

    /**
     * 本体解绑
     *
     * @param site
     * @param carrier
     * @param endDateTime
     * @return
     */
    public void carrierUnBind( String site, String carrier, Date endDateTime );

    /**
     * 本体绑定机种物料工令，修改工令已下达数量
     *
     * @param site
     * @param carrier
     * @param bindDate
     */
    public void carrierBind( String site, String carrier, Date bindDate );

    /**
     * 物料本体解绑
     *
     * @param site
     * @param carrier
     * @param itemBo
     * @param endDateTime
     */
    public void carrierUnBind( String site, String carrier, String itemBo, Date endDateTime );

    /**
     * 查询本体最近解绑记录
     *
     * @param site
     * @param carrier
     * @return
     */
    public List<CarrierBind> findCarrierUnbind( String site, String carrier );
}
